A LAN is a well-known means of achieving communication between different resources, typically computer resources such as computers, work stations, printers and the like. The LAN itself includes a network interface connected to each resource and a physical communication medium connecting all of the interfaces. A particular interface and connected resource form a node. Each node has a unique address or identification (ID) which is established and set by the network interface. Because each node has a unique ID, it is therefore possible to route messages from one node to another node using the address of the originating or source node, sometimes referred to as a source identification (SID), and the address of the destination node, sometimes referred to as a destination identification (DID). Each network interface monitors the DID information in each message communicated by other nodes, and is able to selectively receive communications addressed appropriately. Network interfaces may maintain knowledge of all other functioning nodes on the communication medium, and with this knowledge, then are able to selectively address and receive the communications from the other nodes.
Typically, LAN communications between nodes are accomplished by sending and receiving an ordered group of bits known as a packet. Each packet is sent from a source node, and is received by one or more destination nodes. The IDs of the source and destination nodes are generally included within the packet in dedicated groups of bits at specific locations. The technique of communicating and controlling the composition of packets between the nodes is set by a network protocol. The network protocol may require, for example, that the destination node return a packet to a source node indicating that the destination node has successfully received the packet transmitted by the source node. As another example, prior to sending a packet containing data, the source node may send a packet to the destination node inquiring of the capability of the destination node to receive a data packet. In response, before the source node sends the data packet, the destination node may reply to the source node that it is or is not capable of receiving the data packet. These are examples of the types of packet transmission and reception which may occur in order to complete a single communication between two nodes on a LAN. Each network interface operates in accordance with the network protocol to assure the delivery and receipt of the packets and to achieve the overall functionality of the LAN.
A variety of different types of network protocols and node ID assignment techniques are used in present-day LANs.
A node identification (NID) in a LAN may be globally unique or locally unique. A globally unique NID is one which distinguishes a network interface from every other network interface which has ever been manufactured for a particular network. Ethernet, a registered trademark of Xerox Corp. (ANSI/IEEE 802.3), as well as other LANs standardized by IEEE Project 802 are examples of networks which use globally unique NIDs. A locally unique NID, on the other hand, is one which is unique on any individual instance of a network itself, but may be duplicative of an NID on an adjacent, unconnected and separate LAN. Locally unique NIDs are typically used when the network protocol permits only a limited number of nodes on the LAN. For example, a LAN known as ARCNET, a registered trademark of Datapoint Corporation, uses 8-bit, locally unique NIDs, thereby limiting the size of this network to no more than 255 distinct nodes. Thus, the locally-unique NIDs of any given LAN may have address values in a given pre-established range, such as from 1 to 255 (with zero reserved for broadcasts to all nodes). In general, locally-unique NID protocols require manual setting of the NID at the time the interface is connected to the resource or the automatic selection of the NID each time the resource activates its interface for connection into the network.
A LAN such as LocalTalk, a registered trademark of Apple Computer, Inc., uses a locally unique NID assignment technique which results in a dynamic, non-specific, random assignment of an NID at the time each particular node joins the network. This non-specific, dynamic assignment of NIDs occurs according to the rules defined by the LocalTalk network protocol. From a practicality standpoint, most dynamic NID assignment networks are limited in scope to a predetermined number of nodes, although theoretically, there is no limit to such dynamic node assignment if arbitrarily long times are acceptable to initialize network operation. In general terms, the dynamic NID assignment used by LocalTalk occurs as the network interface of the node joining the network sends groups of packets specifying a DID which has been chosen from a group of valid addresses until the packets fail to elicit a response, indicating (to an adequate probability for practical usage) that the specified DID is not currently active on the network. Under this condition, the network interface control function recognizes that the DID to which that group of packets were addressed is an available address, and the interface thereafter adopts that address as its SID and uses it for network communications for the remainder of this period of activity on the network. After each episode of inactivity, the network interface must repeat the above-described procedure to obtain an NID.
The interfaces of present-day LANs are connected to the communications medium in a variety of different configurations. For example, the node interconnection arrangement of the nodes to the communication medium may either be a ring topology or a bus topology. In a ring topology, each of the interfaces at the node is connected in a circular, serial manner, so that each node participates in passing the packet by receiving it from its neighbor and passing it on to its other neighbor. Examples of this type of ring connection topology is a LAN known as Token Ring, (ANSI/IEEE 802.5) and Fiber Distributed Data Interface ("FDDI") (ANSI X3T9.5). Alternatively, a bus topology involves the unitary logical connection of all network interfaces at a single logical point. In the bus topology, each packet communicated from the source node is received approximately simultaneously by all of the other nodes coupled to the bus. However, only the node(s) to which the communication is specifically directed actually accepts and processes the communication, while the other nodes disregard it. Examples of bus topology LANs are "LocalTalk", "ARCNET" and "Ethernet".
Because of the increasing popularity and demand that resources communicate and share information, LANs are becoming widely used. Although there are many varieties of LANs with varying characteristics, most of them function adequately for their intended purpose. A particular difficulty may occur, however, when one of the resources of one LAN wishes to communicate with a resource on a separate and distinct LAN. One technique for allowing communication between separate IANs or LAN segments is recognized and is known as network bridging. A network bridge may be employed to interconnect the communication medium of one LAN with a separate LAN to exchange communications between the two LANs.
In bridged LANs using globally-unique NIDs, the functionality of the network bridge is greatly simplified. The network bridge is simply able to repeat a packet from one LAN to another LAN without risk of confusing the communication associated with the packet, because the NIDs of both LANs are globally unique. The efficiency of bridging in LANs with globally unique NIDs can be further improved by "learning," in which the bridge observes packet traffic traversing the bridge in each direction to determine which NIDs are on which LAN, and subsequently repeats only those packets with DIDs that designate nodes on an alternate LAN. However, a particular problem arises when the communication occurs between bridged LANs on which the nodes have only locally unique NIDs, because of the possibility that there will be duplication of NID values on the different bridged LAN segments.